전체 포스트

우리가 어떻게 배워야 할까요?

어디서부터 어디까지 공부해야 할지 막막해요, "왜 해도 해도 끝이 보이지 않을까요?
10/30/2023 작성
사진: Unsplash 의 Cintya Marisa
 

😢 어디서부터 어디까지 공부해야 할지 막막해요
"왜 해도 해도 끝이 안 보일까요?

최근 개발자 취업을 준비하시는 분들(or 주니어 개발자 분들)을 대상으로 “어떻게 배워야 하는가” 라는 주제로 학습 전략에 관한 온라인 세미나를 진행한 적이 있습니다.

세미나를 준비하면서 감히 쥐뿔도 모르는 내가 학습 전략을 논할 수 있는건가 많은 걱정을 했었는데요 생각보다 많은 분들께서 많은 도움이 되었다고 하셔서 참 다행이었고 뿌듯했습니다.

그래서 이번에는 더 많은 분들께 조금이나마 도움이 될 수 있도록 가벼운 글로도 함께 남겨보려고 합니다.

 

우리의 학습은 왜 이렇게 어려운걸까요?

💡 문제를 직시하는 것,
항상 정면으로 대하는 것,
그것이 상황을 밀고 나가는 방법이다.
용감하게 맞서라

 

먼저 우리의 학습은 왜 이렇게 어려운 걸까요?

열심히 하고는 있는데 왜 자꾸 제자리 걸음인 것만 같고

이것 저것 배우고는 있지만 머리속에 잘 남지 않는 걸까요?

도대체 그 이유가 무엇일까요?

 

새로운 기술이 계속해서 생겨나기 때문일까요?

그럴 수도 있을 것 같아요

JQuery의 시대가 저물고 React.js의 시대가 도래 하듯 그리고 또 이제는 React.js의 시대가 저문다고 하는 사람들이 생겨 나듯 하루가 멀다하고 계속해서 새로운 기술이 탄생하니까요

 

아니면 사람들마다 추천하는 학습 주제나 방식이 달라서 그런걸까요?

그럴 수도 있을 것 같아요

예를 들어 프론트엔드 개발자가 되고 싶다고 꿈꾸는 이에게 JavaScript 부터 숙련된 수준까지 제대로 배워보라고 하는 사람도 있고 또는 기본기만 익히고 나서 빠르게 React.js를 익히는 방식을 추천 하는 사람도 있고 또 누군가는 Vue.js를 추천하는 사람도 있으니까요

 

여기에는 수많은 여러가지 이유들이 있을 수 있지만 제가 생각하는 가장 근본적인 이유는

 

우리가 학창 시절에 해왔던 대로 남들이 정해주는 기준에 맞춰서 학습하려고 하기 때문 인것 같아요

( 물론 제 개인적인 주관이자 하나의 사소한 관점일 뿐입니다! 여러분의 의견과 다를 수 있으니 너무 노여워 하지는 말아주세요 😢 )

 

학창시절에는 어땠나요?

학교에서는 항상 명확한 시험범위를 제시해 주었어요

아래의 사진은 교육청에서 발표한 ‘2021년도 수능 출제범위’ 에요

출처 : 교육청

2021년도 수능의 국어 과목을 보시면 화법과 작문, 문학, 독서, 언어에서만 출제 하겠다고 명시되어 있고 또 그 아래의 작은 글씨를 보면 언어와 매체 중에는 언어만 출제하겠다고 아주 친절하게 범위가 명시되어 있는걸 보실 수 있어요

이렇듯 명확한 시험의 범위가 정해져 있었기 때문에 크게 고민할 것 없이 정해진 범위 내에서만 성실히 지식을 습득하면 되었었죠

따라서 어떤 주제를 탐구해 볼까? 또는 얼마나 깊히 탐구해볼까? 하는 고민이 지금 처럼 많이 필요하지는 않았어요

 
고등 수학 커리큘럼 / 출처 : 오르비
 

또 어떤 순서대로 배워나가면 좋을지에 대한 정답도 커리큘럼으로 항상 제시가 되었어요

위 사진은 고등 수학 과정의 커리큘럼인데요 공통수학 1,2 그리고 기본수학 1,2를 배우면 대수를 배우고, 미적분 1을 배우고 등등… 이런 식으로 선형적인 학습의 순서가 정해져 있었죠

그러다보니 이때에는 “어떤 주제를 먼저 공부해 봐야 할까?” 하는 고민 역시 지금 처럼 많이 필요하지 않았던 것 같아요

학교를 벗어난 이후의 학습

그런데 학교를 벗어나면(정확히 말해 학교에서 가르치는 영역을 벗어나면) 어떤가요?

이제는 환경이 많이 달라집니다.

우리가 임용고시, 외무고시 같은 국가 고시를 준비 한다거나 또는 각종 자격증 시험을 준비하는게 아닌 이상 대부분 우리에게 언제나 당연히 제시 되어 왔던, 그래서 누구나 똑같이 따르던 시험범위나 커리큘럼이 사라집니다.

그러다보니 “어떤 주제를 얼마나 깊히 탐구해야 하는지”, “어떤 순서대로 무엇을 학습해야 하는지” 등의 질문들에 대해 이제는 스스로 답을 내려야 하고 선택의 책임 역시 내가 온전히 짊어져야 하죠

또 예전처럼 무언가를 선형적으로 학습하기 어려워져요 예를 들어 공통 수학을 배우고 미적분을 배우면 이산수학을 배울 수 있던 학창 시절과는 달리 어떤 개발 기술(라이브러리 or 프레임워크)을 배우기 위해서는 그 기술을 둘러싼 저변의 모든 영역을 조금씩은 결국 학습해야 하기 때문이에요

브루너의 나선학습 모형

결국 학습 순서에 대한 명백한 정답이 없어서 사람들마다 추천하는 학습의 순서나 방식, 심지어는 추천하는 주제까지 달라지게 되는 것 같아요

이러다보니 입문자들의 입장에서는 어디부터 어디까지 공부해야 하는건지, 도대체 누구의 말을 들어야 하는 건지 혼란스럽고 두렵죠 심지어 혼자서 독학하는 비전공자의 입장에서는 훨씬 더 이런 두려움과 혼란스러움이 클 수 있다고 생각해요

사실 무엇이든 어떤 순서든 일단 시작하기만 하면 그리고 열심히만 하면 당연히 언젠가는 다 도움이 되는건 사실이지만 그럼에도 내가 지금 맞는 길로 가고 있는건지 또는 뒤쳐지지는 않는지 의심스럽고 두렵잖아요?

결론적으로 저는 그동안 정해져 있던 기준에만 맞춰 학습해온 우리가 한 순간에 어떠한 기준 없이 스스로 학습을 해야 하는 상황에 놓이기 때문에 숱한 어려움을 겪게 되는게 아닐까 생각해요

나만의 기준을 세우자

그럼 어떻게 해야 할까요?

결론부터 말씀드리면 결국 죽이되던 밥이되던 나만의 기준을 확실히 정해야 한다고 생각해요 너무 뻔한 말인가요? 😓

출처 : 최고심
 

그럼 어떤 방식으로 나만의 기준을 정할 수 있을까요?

각자만의 방식이 있을테지만 제가 가장 추천하는 방식은

 

어떤 주제를 탐구해볼지 고민하고 결정할 때, 타인의 추천은 참고 정도 하는 수준에서 현재 내가 가장 궁금하거나 도전해보고 싶은 그런 몰입해서 배울 수 있는 주제를 선정해야 한다고 생각해요

심리학자 칙센트 미하이는 “몰입의 즐거움” 이라는 책에서 우리가 무언가에 몰입하게 되면 시간이 흘러가는 것을 완전히 잊어버리고 자신의 정신적인 역량을 100% 쏟아부을 수 있다고 말했어요 우리가 몰입해서 학습할 수 있다면 더 오랜시간 집중하고 더 효율적으로 학습할 수 있게 된다는거죠

그럼 이런 몰입 할 수 있는 주제는 어떻게 찾을 수 있을까요?

어떤 주제에 몰입 할 수 있을까?

다음 그래프는 앞서 이야기 한 칙센트 미하이가 자신의 책에서 제시한 ‘몰입 이론’인데요 이 몰입 이론에 따르면 우리가 몰입할 수 있는 가능성이 높은 주제를 쉽게 찾아낼 수 있다고 합니다.

이 몰입 이론 그래프에서 X축나의 실력을 나타내고 Y축과제나 주제의 난이도를 나타내요

그럼 그래프 안쪽 영역도 하나씩 자세히 살펴볼까요?

내 실력은 낮지만 난이도는 높을 때

먼저 위 그림처럼 내 실력은 낮은데 난이도는 높은 그런 과제를 마주하게 되면 우리는 불안함과 걱정을 느끼게 되어 몰입하기 어렵다고 합니다.

내 실력은 높지만 난이도는 낮을 때

반면 위 그림처럼 나의 실력은 높지만 난이도는 낮은 그런 과제를 마주하게 되면 아까와는 반대로 지루함을 느끼게 된다고 합니다.

실력과 난이도가 비슷할 때

마지막으로 나의 실력과 난이도가 서로 너무 크게 차이나지 않는, 너무 쉽지도 그렇다고 너무 어렵지도 않게 느껴지는 이런 수준의 과제를 마주하게 되면 우리는 비로소 이때 몰입을 경험할 가능성이 높다고 합니다.

한가지 예를 들어 보자면 여러분이 방금 막 JavaScript의 기본 문법에 대한 학습을 끝낸 상태라고 가정 한다면 다음 3가지 학습 주제 중 어떤 주제에 가장 몰입하기 쉬울까요?

  1. JavaScript 기본 문법 다시 한번 복습하기
  2. 상용 E-Commerce 웹 서비스 구축해보기
  3. 간단한 TodoList 개발해보기

제 생각에는 3번일 것 같은데요 선택지를 순서대로 살펴보며 왜 제가 3번이라고 생각했는지 말씀드려볼게요

우선 1번은 내 실력에 비해 난이도가 낮은 과제죠 그러므로 지루함을 느끼게 되어 몰입하기 어려울 것 같아요

반대로 2번은 내 실력에 비해 난이도가 너무 높은 과제에요 따라서 막막함을 느끼게 되어 역시 몰입하기 어려울 것 같아요

반면 마지막 3번은 방금 배운 JavaScript 지식을 응용하여 새로운 프로젝트에 도전해보는 것이니 너무 어렵지도 너무 쉽지도 않게 느껴질 것 같아요 따라서 몰입을 경험하기 가장 쉽지 않을까요 😃

결론적으로 만약 여러분이 현재 다음에는 어떤 주제를 공부 해볼까 고민중이라면 자신의 실력에 비해 너무 쉽지도 그렇다고 너무 어렵지도 않은 주제를 선택해서 즐겁게 학습해 보시면 어떨까요?

몰입 가능한 주제를 어떻게 찾을 수 있을까요?

여기까지 읽어주셨다면 이제 다음으로는 난이도가 적정한, 그럼으로써 몰입하기 쉬운 그런 주제는 또 어디서 어떻게 찾으면 좋을지 궁금해 하실 것 같은데요

이에 대해서는 김창준님의 “함께 자라기” 라는 책에 기재된 아래의 4가지 방법을 추천합니다.

  1. 실력 낮추기
  2. 난이도 높이기
  3. 실력 높이기
  4. 난이도 낮추기
 

1. 실력 낮추기

만약 어떤 학습 주제의 난이도가 내 실력보다 낮아 지루하게 느껴진다면 그럼에도 해당 주제를 꼭 학습해야 하는 상황이라면 1번 전략 실력 낮추기를 적용해 볼 수 있습니다.

난이도는 그대로 두고 내 실력을 낮추는 방법인데요 마치 아래 그림처럼 롤러블레이드를 신고 런닝머신을 뛰거나, 거꾸로 메달려 바벨을 들듯 스스로에게 다양한 패널티를 부과한 상태로 학습을 진행하는 방식입니다.

출처 : 김계란(피지컬갤러리)

한 몸처럼 즐겨쓰던 도구를 사용하지 않고 프로젝트를 수행해보는 방법이 있겠죠 예를 들어 React.js를 이용해 개발해봤던 웹서비스를 이번에는 Vanilla JS로만 개발해 본다던가 아니면 아예 새로운 도구로 개발해 본다던가 등등의 여러가지 방법이 있을 것 같습니다.

 

2. 난이도 높이기

두번째 전략은 첫번째와 반대로 작업이나 학습 주제의 난이도를 높이는 방법인데요 역시 내 실력보다 낮은 난이도의 주제를 학습할 때 이용해보면 좋습니다.

함께 자라기 책에서는 자기에게 요구되는 수준을 더 높게 여기는 방식을 추천합니다.

예를 들어 만드는데 하루 정도 걸릴 것으로 예상했던 특정 프로젝트나 또는 기능을 이번엔 한두시간만에 만들어 보는 일종의 타임어택을 해보는거죠

 

3. 실력 높이기

이번엔 반대로 내 실력보다 너무 높은 난이도의 주제를 학습해야 할 때 적용해보면 좋은 방법인데요

더 높은 난이도의 주제에 도전해 볼 수 있도록 나의 실력을 높이는 방법입니다.

도서나 강의 또는 스터디를 통해 실력을 성장시키거나 멘토링을 받거나 GPT의 도움을 받거나 기타 등등의 전략을 사용해 볼 수 있겠습니다.

 

4. 난이도 낮추기

마지막으로는 3번과는 반대로 난이도를 낮추는 방법인데요 제가 가장 자주 사용하며 또 많은 분들께 제일 추천 해드리고 싶은 방법이기도 합니다.

너무 어렵게 느껴지는 프로젝트가 있을 때 막막함을 느껴 어디서 부터 손을 대야 할지 몰라 시작도 못하고 있다면 포기하지 말고 정말 필요한 기능 하나만 만들어 보는 겁니다.

프로젝트도 마치 분할정복 하듯이 지금 당장 제일 도전해 볼 만한 기능부터 차례대로 만들다 보면 실력이 꾸준히 늘어 계속해서 새로운 기능 개발에 도전할 수 있을 테고 그러다 보면 언젠간 다양한 기능이 포함된 훌륭한 프로젝트가 되어 있을 수도 있지 않을까요?

위는 제가 대학교 3-4 학년 시절 4명의 친구들과 함께 약 6개월간 개발한 프로젝트인데요

지금은 여러 이슈로 인해 운영이 중단되었지만 그래도 가입자 수 1만명 이상을 달성 했었던 토이프로젝트 치고 나름 성공적으로 운영 되었던 프로젝트였습니다. (물론 마무리 하는 과정이 아쉽긴 했지만요 😢)

위 서비스에는 비록 조악하지만 인증-인가, 포인트제도, 승급제도, 알림, 모니터링, 위지윅 에디팅, SSR … 기타 등등의 다양한 기능들이 포함되어 있는데요

놀랍게도 제가 이 서비스를 처음 개발하고자 마음 먹었을 때 저는 JavaScript도 제대로 모르던 때 였습니다. 당연히 보안에 대해서도 네트워크에 대해서도 전혀 아는게 없었죠

그럼에도 꼭 만들어 보고 싶었기 때문에 가장 쉬운 HTML 마크업부터 천천히 해 나가다 보니 그리고 계속해서 의도적으로 작업의 난이도를 낮춰서 해 볼만 한 것부터 골라 진행하다 보니 어느새 약 6개월이 지나 있을 무렵 그래도 꽤나 많은 기능들을 만들 수 있었습니다.

당연히 저보다 더 훌륭하신 여러분은 3-4개월 만에도 만드실 수 있을 겁니다.

 

정리할게요

결론적으로 이 글을 통해 여러분께 드리고 싶은 이야기는 여러분이 너무 괴롭지 않게, 두렵지 않게 배우실 수 있었으면 좋겠다는 이야기이고

또 만약 여러분이 현재 학습의 과정에서 막막함과 두려움을 느끼고 계시다면 제가 추천해드리는 이런 방법을 한번쯤 참고해보셨으면 좋겠다는 그런 이야기입니다.

물론 당연히 최적의 학습 방법이라는 건 사람마다 다르겠지만 말이죠 😃

 

끝까지 읽어주셔서 감사합니다.

그리고 좋은 책으로 저에게도 많은 도움을 주신 칙센트 미하이님, 그리고 김창준 작가님께 감사합니다.

 
 
 
 
 
 
 
 

광고 & 홍보

저는 현재 인프런과 Udemy 에서 아래 3가지 강의를 만들어 제공하고 있어요!

할인 중인 강의가 있어 글 말미에 간단한 홍보 및 광고 양해 부탁드립니다 🙇‍♂️

 

한 입 크기로 잘라먹는 타입스크립트

한 입 크기로 잘라먹는 타입스크립트(TypeScript) 강의 - 인프런
문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙🏻‍♀️로 만들어드립니다., 프론트엔드의 피할 수 없는 대세 타입스크립트,이제는 제대로 정복할 때가 왔습니다! 😎[사진]인프콘 2023&...
한 입 크기로 잘라먹는 타입스크립트(TypeScript) 강의 - 인프런링크의 썸네일 이미지
  • 30% 할인 쿠폰 번호 : 13276-c2f78226991a
 

한 입 크기로 잘라먹는 리액트

  • 10% 할인 쿠폰 번호 : 13270-179e6e7d50fb
 

프로젝트로 배우는 React & Next 마스터리 클래스